/*
 * @Type LoggerUtil.java
 * @Desc 日志工具类
 * @Author urmsone urmsone@163.com
 * @date 2024/6/13 01:34
 * @version
 */
package utils;

import org.slf4j.Logger;

/**
 * 日志工具类,封装了常用的日志记录方法。
 */
public class LoggerUtil {

    /**
     * 记录 DEBUG 级别的日志。
     * 仅当 logger 的 DEBUG 级别被启用时,才会实际输出日志。
     *
     * @param logger     日志记录器
     * @param format     日志消息格式字符串
     * @param arguments  格式化参数
     */
    public static void debug(Logger logger, String format, Object... arguments) {
        if (logger.isDebugEnabled()) {
            logger.debug(format, arguments);
        }
    }

    /**
     * 记录 INFO 级别的日志。
     * 仅当 logger 的 INFO 级别被启用时,才会实际输出日志。
     *
     * @param logger     日志记录器
     * @param format     日志消息格式字符串
     * @param arguments  格式化参数
     */
    public static void info(Logger logger, String format, Object... arguments) {
        if (logger.isInfoEnabled()) {
            logger.info(format, arguments);
        }
    }

    /**
     * 记录 ERROR 级别的日志,并附带异常堆栈信息。
     * 仅当 logger 的 ERROR 级别被启用时,才会实际输出日志。
     *
     * @param logger     日志记录器
     * @param t          异常对象
     * @param format     日志消息格式字符串
     * @param arguments  格式化参数
     */
    public static void error(Logger logger, Throwable t, String format, Object... arguments) {
        if (logger.isErrorEnabled()) {
            logger.error(format, arguments, t);
        }
    }
}